Modern software development is evolving away from the client-server model toward “cloud”-based processing systems that provide access to data and services via the Internet or other networks. In contrast to prior systems that hosted networked applications on dedicated server hardware, the cloud computing model allows applications to be provided over the network “as a service” supplied by an infrastructure provider. The infrastructure provider typically abstracts the underlying hardware and other resources used to deliver a customer-developed application so that the customer no longer needs to operate and support dedicated server hardware. The cloud computing model can often provide substantial cost savings to the customer over the life of the application because the customer no longer needs to provide dedicated network infrastructure, electrical and temperature controls, physical security and other logistics in support of dedicated server hardware.
Multi-tenant platforms can facilitate effective collaboration between users, including between users in different tenants. For example, between a salesperson in one company and a purchasing manager in another company. However, for this to occur, it is generally required that such other users in other be identified. Because data is generally kept confidential from other tenants, there has been no effective way to identify users in other tenants for the purpose of collaboration. This has limited the effectiveness of the collaboration between users in such systems.